Computer programs are typically prepared using a particular programming language to define a series of human readable instructions. The human readable instructions are often referred to as “source code.” Software developers employ the syntax and notations of a programming language to prepare a series of instructions that define the logic of the program. C#, C++, C, Perl, and PHP are just some of the programming languages that are currently popular with software developers.
Once source code defining the logic for a program has been specified, the source code is typically operated on by a computer program referred to as a compiler which transforms the human readable source code into a format, often referred to as “object code,” that can be understood and executed by computing hardware. The compiler prepares the object code for execution on particular target hardware or a particular combination of hardware and operating system. For example, a compiler may generate object code that will be understood and executable on a particular type of processor running a particular type of operating system. In an example scenario, a compiler may generate object code that is executable on an Intel Core processor running a Linux operating system. In another scenario, a compiler may generate object code that is executable by a particular computing processor or application-specific integrated circuit (ASIC).